import Vue from './instance/index';
import { initGlobalAPI } from './global-api/index';
import { isServerRendering } from 'core/util/env';
import { FunctionalRenderContext } from 'core/vdom/create-functional-component';
// 给vue函数增加静态方法
initGlobalAPI(Vue);

Object.defineProperty(Vue.prototype, '$isServer', {
    get: isServerRendering
});

// ssr 服务端渲染相关
Object.defineProperty(Vue.prototype, '$ssrContext', {
    get() {
        /* istanbul ignore next */
        return this.$vnode && this.$vnode.ssrContext;
    }
});

// expose FunctionalRenderContext for ssr runtime helper installation
Object.defineProperty(Vue, 'FunctionalRenderContext', {
    value: FunctionalRenderContext
});

Vue.version = '__VERSION__';

export default Vue;
